package com.akuhome.resource.dto;

import com.akuhome.resource.entity.Part;
import com.akuhome.resource.entity.User;
import com.akuhome.resource.enums.NeedStatus;
import com.akuhome.resource.enums.ProjectStatus;

import javax.validation.constraints.NotBlank;
import java.sql.Timestamp;
import java.util.Date;

public class NeedProject {
    Integer id;
    String uid;
    @NotBlank(message = "名称不能为空")
    String name;
    Date startDate;
    Date endDate;
    Timestamp createTime;
    Timestamp updateTime;
    Part part;
    User user;
    Date approveTime;
    NeedStatus needStatus;

    public NeedProject() {
        this.name = "";
        this.startDate = new Date();
        this.endDate = new Date();
        part = new Part();
        user = new User();
    }

    public NeedProject(String uid, String name, Date startDate, Date endDate, Integer people) {
        this.uid = uid;
        this.name = name;
        this.startDate = startDate;
        this.endDate = endDate;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Part getPart() {
        return part;
    }

    public void setPart(Part part) {
        this.part = part;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public NeedStatus getNeedStatus() {
        return needStatus;
    }

    public void setNeedStatus(NeedStatus needStatus) {
        this.needStatus = needStatus;
    }
}
